AT-NFC  2.1 (win)
AT-NFC kernel set
nfc_ep_lib.h
Go to the documentation of this file.
1 #ifndef NFC_EP_LIB_H
2 #define NFC_EP_LIB_H
3 
4 /* *********************** NFC Entry Point library export functions ************************ */
8 /* ***************************************************************************************** */
9 
10 /* ************************************** epNfcInit **************************************** */
26 extern KER_RES KER_API epNfcInit(KER_CTX_INIT_PARAM const KER_VOID* pConfigID, KER_INT16U usConfigIDLen, const KER_CHAR* pchEPFiles, KER_INT16U usEPFilesLen);
27 
28 /* ************************************* epNfcDeInit *************************************** */
40 
41 /* ************************************** epNfcVerInfo ************************************* */
53 extern KER_BOOL KER_API epNfcVerInfo(KER_CTX_PARAM const KER_CHAR** ppchEmvVer, KER_INT16U* pusEmvVerLen, const KER_CHAR** ppchLibVer, KER_INT16U* pusLibVerLen);
54 
55 /* ****************************** Transaction data structure ******************************* */
61 typedef struct tag_EP_TRAN EP_TRAN;
62 
63 /* *********************************** epPosPrepareNewTran ********************************* */
84 extern KER_RES KER_API epPosPrepareNewTran(KER_CTX_PARAM const NFC_EXT_TERM_TRAN_DATA* pTermTranData, EP_TRAN** ppTran, NFC_OUTCOME** ppOutcome);
85 
86 /* **************************************** epPosTran ************************************** */
122 extern KER_RES KER_API epPosTran(KER_CTX_PARAM EP_TRAN* pTran, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes,
123  KER_INT16U* pusCardType, KER_BYTE* pbtUID, KER_INT16U* pusUIDLen, NFC_OUTCOME** ppOutcome);
124 
125 /* ***************************** epPosCancelTransactionCheck ******************************* */
136 
137 /* ************************************ epPosTranRestart *********************************** */
181 extern KER_RES KER_API epPosTranRestart(KER_CTX_PARAM EP_TRAN* pTran, const NFC_EXT_TERM_RESTART_DATA* pTermRestartData, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes,
182  KER_INT16U* pusCardType, KER_BYTE* pbtUID, KER_INT16U* pusUIDLen, NFC_OUTCOME** ppOutcome);
183 
184 /* ************************************* epPosTranRelease ********************************** */
199 
200 /* *************************************** epNfcGetData ************************************ */
215 extern KER_RES KER_API epNfcGetData(KER_CTX_PARAM EP_TRAN* pTran, KER_INT16U usOptions, KER_BYTE* pbtData, KER_INT16U* pusDataLen);
216 
217 /* ************************************ epNfcGetDataByTag ********************************** */
235 extern KER_RES KER_API epNfcGetDataByTag(KER_CTX_PARAM EP_TRAN* pTran, KER_INT16U usOptions, const KER_BYTE* pbtTag, KER_BYTE btTagSize, KER_BYTE* pbtData, KER_INT16U* pusDataSize);
236 
237 /* ********************************** epNfcGetDataByTagList ******************************** */
254 extern KER_RES KER_API epNfcGetDataByTagList(KER_CTX_PARAM EP_TRAN* pTran, KER_INT16U usOptions, const KER_BYTE* pbtTagList, KER_INT16U usTagListSize, KER_BYTE* pbtData, KER_INT16U* pusDataSize);
255 
256 /* ************************************ epNfcGetDataByID *********************************** */
272 extern KER_RES KER_API epNfcGetDataByID(KER_CTX_PARAM EP_TRAN* pTran, KER_INT16U usID, KER_BYTE* pbtData, KER_INT16U* pusDataSize);
273 
274 /* ************************************* epCheckOption ************************************* */
279 #define NFC_EP_OPT_DEBUG 0x0001
280 #define NFC_EP_OPT_RRP 0x0002
297 extern KER_BOOL KER_API epCheckOption(KER_CTX_PARAM EP_TRAN* pTran, KER_INT16U usOption, KER_INT16U usParam, KER_VOID* pParam);
298 
299 
300 #endif /* NFC_EP_LIB_H */
void KER_VOID
Definition: emv_platform.h:66
KER_INT8U KER_BOOL
Definition: emv_platform.h:67
uint8_t KER_BYTE
Definition: emv_platform.h:70
KER_INT16U KER_RES
Definition: emv_platform.h:68
unsigned int KER_INT32U
Definition: emv_platform.h:63
unsigned short KER_INT16U
Definition: emv_platform.h:61
char KER_CHAR
Definition: emv_platform.h:65
KER_RES KER_API epPosTran(KER_CTX_PARAM EP_TRAN *pTran, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, NFC_OUTCOME **ppOutcome)
Initiates new transaction.
KER_RES KER_API epPosTranRelease(KER_CTX_PARAM EP_TRAN *pTran)
Releases transaction context.
KER_RES KER_API epNfcGetDataByTagList(KER_CTX_PARAM EP_TRAN *pTran, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
transaction data request
KER_BOOL KER_API epNfcVerInfo(KER_CTX_PARAM const KER_CHAR **ppchEmvVer, KER_INT16U *pusEmvVerLen, const KER_CHAR **ppchLibVer, KER_INT16U *pusLibVerLen)
Obtains emv kernel library version info.
KER_RES KER_API epNfcDeInit(KER_CTX_SINGLE_PARAM)
Performs kernel de-initialization.
KER_RES KER_API epNfcGetData(KER_CTX_PARAM EP_TRAN *pTran, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen)
Transaction data request.
KER_RES KER_API epNfcGetDataByID(KER_CTX_PARAM EP_TRAN *pTran, KER_INT16U usID, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
Obtain emv data by ID.
struct tag_EP_TRAN EP_TRAN
EP transaction handle.
Definition: nfc_ep_lib.h:61
KER_RES KER_API epPosTranRestart(KER_CTX_PARAM EP_TRAN *pTran, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, NFC_OUTCOME **ppOutcome)
Restarts transaction for issuer update, cv-cvm confirmation, etc...
KER_RES KER_API epPosPrepareNewTran(KER_CTX_PARAM const NFC_EXT_TERM_TRAN_DATA *pTermTranData, EP_TRAN **ppTran, NFC_OUTCOME **ppOutcome)
Prepares new transaction.
KER_BOOL KER_API epCheckOption(KER_CTX_PARAM EP_TRAN *pTran, KER_INT16U usOption, KER_INT16U usParam, KER_VOID *pParam)
Check options callback Define this function outside the lib to provide EP options.
#define KER_CTX_PARAM
Definition: emv_context.h:53
#define KER_CTX_INIT_PARAM
Definition: emv_context.h:63
#define KER_CTX_SINGLE_PARAM
Definition: emv_context.h:58
KER_BOOL epPosCancelTransactionCheck(KER_CTX_SINGLE_PARAM)
Checks for cancel transaction request from outside (polling mode)
KER_RES KER_API epNfcGetDataByTag(KER_CTX_PARAM EP_TRAN *pTran, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
transaction data request
Terminal transaction restart data.
Definition: nfc_ext_data.h:144
Terminal transaction data structure.
Definition: nfc_ext_data.h:83
Outcome User Interface struct definition, version 0.
Definition: nfc_outcome.h:350